Trò chơi Angry Birds trong UNITY Engine
31.703 lượt xem;
1 public static class GoEaseBounce
2 {
3 public static float EaseOut( float t, float b, float c, float d )
4 {
5 if( ( t /= d ) < ( 1 / 2.75 ) )
6 {
7 return c * ( 7.5625f * t * t ) + b;
8 }
9 else if( t < ( 2 / 2.75 ) )
10 {
11 return c * ( 7.5625f * ( t -= ( 1.5f / 2.75f ) ) * t + .75f ) + b;
12 }
13 else if( t < ( 2.5 / 2.75 ) )
14 {
15 return c * ( 7.5625f * ( t -= ( 2.25f / 2.75f ) ) * t + .9375f ) + b;
16 }
17 else
18 {
19 return c * ( 7.5625f * ( t -= ( 2.625f / 2.75f ) ) * t + .984375f ) + b;
20 }
21 }
22
23 public static float EaseIn( float t, float b, float c, float d )
24 {
25 return c - EaseOut( d - t, 0, c, d ) + b;
26 }
27
28 public static float EaseInOut( float t, float b, float c, float d )
29 {
30 if( t < d / 2 )
31 return EaseIn( t * 2, 0, c, d ) * 0.5f + b;
32 else
33 return EaseOut( t * 2 - d, 0, c, d ) * .5f + c * 0.5f + b;
34 }
35 }
2 {
3 public static float EaseOut( float t, float b, float c, float d )
4 {
5 if( ( t /= d ) < ( 1 / 2.75 ) )
6 {
7 return c * ( 7.5625f * t * t ) + b;
8 }
9 else if( t < ( 2 / 2.75 ) )
10 {
11 return c * ( 7.5625f * ( t -= ( 1.5f / 2.75f ) ) * t + .75f ) + b;
12 }
13 else if( t < ( 2.5 / 2.75 ) )
14 {
15 return c * ( 7.5625f * ( t -= ( 2.25f / 2.75f ) ) * t + .9375f ) + b;
16 }
17 else
18 {
19 return c * ( 7.5625f * ( t -= ( 2.625f / 2.75f ) ) * t + .984375f ) + b;
20 }
21 }
22
23 public static float EaseIn( float t, float b, float c, float d )
24 {
25 return c - EaseOut( d - t, 0, c, d ) + b;
26 }
27
28 public static float EaseInOut( float t, float b, float c, float d )
29 {
30 if( t < d / 2 )
31 return EaseIn( t * 2, 0, c, d ) * 0.5f + b;
32 else
33 return EaseOut( t * 2 - d, 0, c, d ) * .5f + c * 0.5f + b;
34 }
35 }